home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-20 | 4.1 KB | 219 lines | [TEXT/CWIE] |
- unit cwindow;
-
- interface
-
- uses
- Appearance;
-
- procedure DisplayWindow;
- procedure RemoveWindow;
- procedure DrawWindow(dState:ThemeDrawState);
- procedure DrawMainPane(dState:ThemeDrawState);
- procedure DrawSmallPic;
-
- implementation
-
- uses
- Windows,
- globals,
- TextUtils,
- Resources;
-
- procedure DrawSmallPic;
- var
- thePict:PicHandle;
- r:Rect;
- begin
- thePict:=GetPicture(1999+GetControlValue(gTypePopUp));
- with r do begin
- top:=70;
- bottom:=top+150;
- left:=LEFT_PANE_WIDTH+ (WINDOW_WIDTH-LEFT_PANE_WIDTH) div 2 - 100;
- right:=left+200;
- end;
- DrawPicture(thePict,r);
- ReleaseResource(Handle(thePict));
- end;
-
- procedure DrawMainPane(dState:ThemeDrawState);
- var
- r:Rect;
- err:OSErr;
- begin
- with r do begin
- top:=-1;
- left:=LEFT_PANE_WIDTH-1;
- right:=WINDOW_WIDTH+1;
- bottom:=WINDOW_HEIGHT+1;
- end;
- err:=DrawThemePlacard(r,dState);
-
- if gPaneState=PANE_BOMB then begin
- HideControl(gFreqPopUp);
- ShowControl(gTypePopUp);
- ShowControl(gPreviewButton);
-
- TextSize(12);
- TextFont(0);
- MoveTo(LEFT_PANE_WIDTH+12,30);
- DrawString('Crash Style:');
- with r do begin
- top:=55;
- bottom:=top+2;
- left:=LEFT_PANE_WIDTH+12;
- right:=WINDOW_WIDTH-12;
- end;
- err:=DrawThemeSeparator(r,dState);
- DrawSmallPic;
- end;
-
- if gPaneState=PANE_CLUSTER then begin
- HideControl(gTypePopUp);
- HideControl(gPreviewButton);
- ShowControl(gFreqPopUp);
- TextSize(12);
- TextFont(0);
- MoveTo(LEFT_PANE_WIDTH+12,30);
- DrawString('Crash Frequency:');
- end;
-
- DrawControls(gMainWindow);
- end;
-
- procedure DrawWindow(dState:ThemeDrawState);
- var
- err:OSErr;
- r:Rect;
- s:Str32;
- begin
- with r do begin
- top:=-1;
- left:=-1;
- right:=LEFT_PANE_WIDTH;
- bottom:=WINDOW_HEIGHT+1;
- end;
- err:=DrawThemePlacard(r,dState);
-
- TextSize(10);
- TextFont(1);
- GetIndString(s,1000,1);
- MoveTo(BUTTON_LEFT+(BUTTON_WIDTH div 2) -(StringWidth(s) div 2),BUTTON_TOP+BUTTON_HEIGHT+11);
- DrawString(s);
- GetIndString(s,1000,2);
- MoveTo(BUTTON_LEFT+(BUTTON_WIDTH div 2) -(StringWidth(s) div 2),BUTTON_TOP+BUTTON_HEIGHT*2+BUTTON_SPACE+11);
- DrawString(s);
-
- DrawMainPane(dState);
- end;
-
- procedure DisplayWindow;
- var
- tRect:Rect;
- begin
- with tRect do begin
- top:=50;
- bottom:=top+WINDOW_HEIGHT;
- left:=50;
- right:=left+WINDOW_WIDTH;
- end;
- gMainWindow:=NewCWindow(nil,
- tRect,
- 'Crash',
- false,
- kWindowDocumentProc,
- WindowPtr(-1),
- true,
- 0);
- SetPort(gMainWindow);
- with tRect do begin
- top:=BUTTON_TOP;
- bottom:=BUTTON_TOP+BUTTON_HEIGHT;
- left:=BUTTON_LEFT;
- right:=BUTTON_LEFT+BUTTON_WIDTH;
- end;
- gBombButton:=NewControl(gMainWindow,
- tRect,
- '',
- true,
- 0,
- kControlContentCIconRes+kControlBehaviorSticky,
- 1000,
- kControlBevelButtonNormalBevelProc,
- 0);
- SetControlValue(gBombButton,1);
- with tRect do begin
- top:=BUTTON_TOP+BUTTON_HEIGHT+BUTTON_SPACE;
- bottom:=top+BUTTON_HEIGHT;
- left:=BUTTON_LEFT;
- right:=BUTTON_LEFT+BUTTON_WIDTH;
- end;
- gClusterButton:=NewControl(gMainWindow,
- tRect,
- '',
- true,
- 0,
- kControlContentCIconRes+kControlBehaviorSticky,
- 1001,
- kControlBevelButtonNormalBevelProc,
- 0);
- with tRect do begin
- top:=18;
- bottom:=34;
- left:=170;
- right:=370;
- end;
- gTypePopUp:=NewControl(gMainWindow,
- tRect,
- '',
- true,
- 0,
- 2000,
- 0,
- kControlPopupButtonProc,
- 0);
- SetControlValue(gTypePopUp,gThePrefs.style);
-
- with tRect do begin
- top:=230;
- bottom:=top+20;
- right:=WINDOW_WIDTH-12;
- left:=right-90;
- end;
- gPreviewButton:=NewControl(gMainWindow,
- tRect,
- 'Preview',
- true,
- 0,
- 1,
- 0,
- kControlPushButtonProc,
- 0);
- with tRect do begin
- top:=18;
- bottom:=34;
- left:=205;
- right:=370;
- end;
- gFreqPopUp:=NewControl(gMainWindow,
- tRect,
- '',
- false,
- 0,
- 2001,
- 0,
- kControlPopupButtonProc,
- 0);
- SetControlValue(gFreqPopUp,gThePrefs.frequency);
-
- ShowWindow(gMainWindow);
- DrawWindow(kThemeStateActive);
- end;
-
- procedure RemoveWindow;
- begin
- gThePrefs.style:=GetControlValue(gTypePopUp);
- gThePrefs.frequency:=GetControlValue(gFreqPopUp);
- DisposeWindow(gMainWindow);
- end;
-
- end.